查看原文
其他

ICLR 2022 | Transformer不比CNN强!Local Attention和动态Depth-wise卷积

Qer PaperWeekly 2022-07-06


©作者 | Qer

单位 | 南开大学

研究方向 | 计算机视觉


Transformer 的文章近两年来可谓是井喷式爆发,大量工作来设计各种任务上的 transformer 模型,然而,attention 作为 transformer 的核心模块,真的比卷积强吗?这篇文章为你带来了 local attention 和 dynamic depth-wise convolution 的新视角,其实设计好的卷积结构,并不比 transformer 差!



论文标题:

On the Connection between Local Attention and Dynamic Depth-wise Convolution

收录会议:

ICLR 2022 Spotlight

论文链接:

https://arxiv.org/abs/2106.04263

代码链接有误,详见底部留言:

https://github.com/qinzheng93/GeoTransformer


文章更新了在 Large-scale 数据集预训练上 I-D-DW Conv. 的结果,在 ImageNet-22k 预训练,在 ImageNet-1K 和 ADE20K 上 finetune 的结果表明,DW Conv.的表现在 ImageNet1K 上略低,而在 ADE20K 上略高。I-D-DW Conv. 的表现在 ImageNet1K 上与 Swin Transfoerm 持平,而在 ADE20K 上具有明显优势。

▲ ImageNet-22K 预训练结果



Local Attention是什么?


2020 年的 ViT 横空出世,席卷了模型设计领域,铺天盖地的各种基于 Transformer 的结构开始被提出,一些在卷积神经网络中取得成功的先验知识,如 local operation、多尺度、shuffled 等等各种操作和 inductive bias 被引入 Transformer 之中。其中比较成功地将 local operation 引入 ViT 当中,利用 shift window 的 Swin Transforerm一举获得多个任务的 SOTA 结果,并获得了 Best Paper Award。而其中最核心的模块,Local Attention,究竟有什么神秘之处呢?

Local attention 本质上实在一个 2D local window 内进行特征聚合,但其每个位置的聚合权重,通过 KQV 之间计算 Attention similarity 得到(主要包括 dot-production, scaling, softmax),是一个无参数的动态计算的局部特征计算模块。

▲ aij为聚合权重,xij为待聚合的特征 

ICLR 这篇文章的先前版本 (Demystifing Local Vision Transformer)在 2021 年六月就首次正在 arxiv 公布并分析了 local attention 的三个强大设计原则:

1)稀疏连接:指一些输出变量和一些输入变量直接没有相互连接。它有效的减少了模型的复杂度而不减少输入输出变量个数。在 Local Attention 当中,稀疏连接体现在两个方面:一是 Local Attention 在图像空间上,每一个 output 值仅与局部的 local window 内的 input 相连接,与 ViT 的全像素(token)连接不同。二是 Local Attention 在通道上,每一个 output channel 仅与一个 input channel 连接,没有交叉连接,不同于 group convolution 与 normal convolution。

2)权重共享:意味着有一些连接的权重是相同且共享的,它降低了模型的参数量,同时不需要增加训练数据即可增强模型。在模型中,一个权重被共享使用,可以被认为针对该权重的训练样本增加,有助于模型的优化。在 Local Attention 中,权重共享通过 multi-head self-attention 来实现,通过讲 channel 分成 head(group),在同一个 head 内共享使用了一组聚合权重,降低了聚合权重的参数量(非模型参数量)。

3)动态权重:是指根据不同样本的特征,动态地产生连接权重。它能够增加模型的容量。如果把连接权重看作是隐层变量,这种动态权重可以看作是增加模型的容量的二阶操作。Local Attention 的动态权重体现在每一个连接的聚合权重都是根据样本特征使用基于 dot-product 的方式计算得到的。

通过以上三个模型设计原则,Local Attention 表现出优异的效果。然而,这些特性也天然存在于 CNN 结构当中,尤其是(Dynamic)Depth-wise 卷积。



(Dynamic)Depth-wise卷积和Local Attention的前世今生


逐步拆解 Local Attention 的操作,可以发现在稀疏连接、权重共享、动态权重三个维度上,都与历史霸主 CNN 结构中的(Dynamic)Depth-wise 卷积很相似。Depth-wise 卷积可谓是一个被长期使用又被渐渐遗忘在历史长河中的结构,那么其在模型设计上又有哪些准则呢?

1)稀疏连接:不难发现,Depth-wise 卷积的稀疏连接特性与 Local Attention 完全相同,在图像空间上局部链接,在通道上稀疏连接。

2)权重共享:权重共享的概念最初就诞生于卷积操作之中,Depth-wise 卷积同样得益于权重共享操作,但与 Local Attention 略有不同,Depth-wise 卷积在图像空间上共享权重,每一个空间位置都是用相同权重的卷积核来进行特征聚合,而在 channel 上,每一个 channel 使用独立的聚合权重。

3)动态权重:动态权重的设计原则在原始的 Depth-wise 卷积中并没有被使用,然而,动态卷积作为一个被广泛研究的领域,可以轻易的将 dynamic 特性引入 Depth-wise 卷积中,形成 feature dependent 的聚合权重。

尽管在权重共享上两者的共享方式不同,经过实验,本文发现以 Local MLP(去掉 dynamic 特性的 local attention)为例,在 channel 和 spatial 维度上共享权重的影响并不大,在任何一个维度共享权重,均可以降低模型的参数量,帮助模型优化。而在动态权重上,虽然两者不同,但 Depth-wise 卷积仍然可以轻易具备动态特性。

▲ 不同结构在稀疏连接、权重共享、动态权重上的对比。D-DW-Conv. 表示动态 DW 卷积


Depth-wise卷积的表现力


Depth-wise 卷积和 Local Attention 的设计原则如此相似,然而为什么 Local Attention 取得了如此高的表现力,而 Depth-wise 卷积没有呢?为了验证这一问题,文章使用 Depth-wise 卷积替换 Swin Transfomer 中的所有 Local Attention 模块,其他结构保持不变(per-LN 修改为 post-BN),同时为了验证动态 DW 卷积的效果,文章构建了两种 dynamic 特性的 Depth-wise 卷积:

1)D-DW-Conv. 第一种 dynamic DW 卷积,采用和普通 DW 卷积相同的权重共享方式,图像空间共享卷积核,通道间独立卷积核。并使用 Global Average Pooling 处理 input feature,然后通过 FC Layer 来 dynamic 预测出动态卷积核。

2)I-D-DW-Conv. 第二种 dynamic DW 卷积,采用和 Local Attention 相同的权重共享方式,每个像素(token)采用独立的聚合权重,而在 channel head(group)中共享权重。称为 Inhomogeneous Dynamic DW 卷积。

来看一看实验结果如何:

▲ ImageNet1k, COCO, ADE20K对比结果

本文使用与 Swin Transformer 完全相同的训练参数和网络结构,在 ImageNet 分类、COCO 检测、ADE20K 语义分割中,基于 Depth-wise 卷积的结构取得了和 Swin Transformer 相同的表现力,而 Depth-wise 卷积的计算开销还更小。

所以,Depth-wise 卷积真的不差!有人会问,是不是在更大的模型和更大的数据集上,Local Attention 会更有优势呢?由于计算资源的限制,文章仅在 Base 模型上进行了部分实验:

▲ ImageNet22k pretraing

在更大的数据集 ImageNet22k 上预训练的结果可以看出,基于 Depth-wise 卷积的结构仍然与 Local Attention 不相上下。近期的 ConvNext [1] 和 repLKNet [2] 工作更是给出了证明。



现代卷积强在哪里,如何设计更好的模型


既然 Depth-wise 卷积的表现力也这么好,那为什么长久以来,没有引起人们的广泛关注呢。通过与传统的 CNN 对比,发现现代卷积在设计上,一般满足文章指出的三个设计原则。同时 Swin Transfomer 等结构与传统 CNN 相比,使用了更大的 Kernel Size, 如 7x7, 12x12 等,远大于 CNN 中长久使用的 3x3 卷积。

Depth-wise 卷积、配合合理的 dynamic 特性、配合大 kernel size,在加持现代网络训练策略(数据增强、优化、正则化)等策略,将是现代卷积的强大之处。

要说如何设计更好的模型,首先要分析现有优秀模型的共性。在稀疏链接方面,下图展示了不同结构的的稀疏特性,越稀疏的模型,越有助于训练阶段的优化,产生更好的性能,同时降低模型的计算复杂度,使网络可以构建设计更自由的模块。

▲ (a)卷积 (b)global attention (c)local attention、DW卷积 (d)1x1卷积 (e)fully-connected MLP


此外,文章构建了一个 Relation Graph 来阐述模型结构设计中产生的一些设计原则上的演进过程:



图中 ViT 和 Local ViT 指其结构中的 attention 结构,PVT 为低秩形式下的金字塔结构 Transformer,Dim. Sep. 表示通道维度上稀疏化,Locality Sep. 表示空间位置连接稀疏化,LR 表示低秩,MS Conv. 表示多尺度卷积。

关系图中,从上到下呈现了依次增强的正则化方式或者引入动态权重,随着正则化及动态权重的增加,网络的人为先验也随之增加,这种形式带来了优化上的好处,使得网络更容易训练得到更好的结果,现有实验结果也同样验证了此项结论。最终这种稀疏化与动态性上的演进,会走向基于 Depth-wise 卷积的动态卷积。结合现代 Large kernel 的训练原则,能够实现更好的表现效果。


参考文献

[1] Liu Z, Mao H, Wu C Y, et al. A ConvNet for the 2020s. arXiv preprint arXiv:2201.03545, 2022.

[2] Ding X, Zhang X, Zhou Y, et al. Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs. CVPR, 2022.



更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存